package cn.tedu.review;
/*本类用于回顾接口的使用*/
public class TestInter {
    public static void main(String[] args) {
        System.out.println(Inter.age);//是静态,可以被接口名直接调用
        //Inter.age = 30;//是final,值不可以被修改
        //5.接口可以实例化吗?--不可以!
//        new Inter();
    }
}
//1.使用interface关键字定义接口
interface Inter{
    //2.接口有构造函数吗?--没有
    //public Inter(){} //格式:修饰符和名字
    //3.接口有成员变量吗?--有的是静态常量
    int age = 20;  //没哟
    public static final int age2 = 40;//public static final可以简写
    //4.接口里有抽象方法吗?--有,而且可以简写public abstract
    public abstract void eat();
    void play();
}
//6.使用implments建立实现类与接口的实现关系 //实现类的两种实现方式
//7.1如果实现类实现了接口中的一部分/or 不实现接口中的抽象方法,那么这就是一个抽象类
abstract class InterImpl1 implements Inter{   //普通类继承抽象类(后天抽取), 实现类实现接口(先天重构)
    @Override
    public void eat(){}
}
//7.2如果实现类实现了接口中所有的抽象方法,这是一个普通类
class InterImpl2 implements Inter{
    public InterImpl2(){
        super();//8.条件: 由于本类没有明确指定父类(没有明确的extends),所以此处使用的构造是public Object(){};//
    }
    @Override  //添加接口的需要实现的方法就好
    public void eat() {}
    @Override
    public void play() {}
}